People have come to rely more and more upon computer devices to organize their lives. For example, people use computers to maintain to-do lists, address lists, and calendars. Many people store this information on desktop personal computers. However, when the person is away from their personal computer this valuable information is not available since it is stored in the desktop personal computer system. To accommodate this situation, a new class of portable handheld computer systems has emerged.
Many handheld computer systems operate as stand alone units wherein the user enters all the information into the handheld unit and the information is retrieved out of the handheld unit alone. Other handheld computer systems operate in conjunction with personal computer systems such that the two systems can transfer data back and forth.
FIG. 1 illustrates a handheld computer system and a personal computer system that act together. The handheld computer system 110 is connected to the personal computer system 150 through some type of communication link 140. The communication link 140 often consists of a direct serial data line but may consist of any type of link that will allow the two systems to transfer information back and forth. In the example of FIG. 1, the handheld computer system 110 is running a calendar application program 115 and the personal computer system 150 is running a complimentary calendar program 155. In an ideal arrangement, a user should be able to enter information into either the handheld computer system 110 or the personal computer system 150 and the information will be shared by the two calendar applications.
FIG. 2 illustrates a first method of transferring information between a handheld computer system 110 and a personal computer system 150 that is employed by some existing handheld computer systems. The method of FIG. 2 consists of a simple file transfer system. In the handheld computer system 110 in FIG. 2 a first file transfer program 210 is located on the handheld computer system to manage file transfers from the handheld computer system. The file transfer program 210 on the handheld computer system communicates with a local file system 220 that is responsible for creating and storing files. The file transfer program 210 on the handheld computer system communicates across the communication link 140 to a PC file transfer program 250 that runs on the personal computer system 150. The PC file transfer program 250 communicates with a PC file system (such as Microsoft DOS) on the personal computer system 150. To invoke the file transfer system of FIG. 2, a user must execute the file transfer program 210 on the handheld computer 110 and the PC file transfer program 250 on the personal computer system 150.
The file transfer system 210 illustrated in FIG. 2 operates only on individual files in the two computer systems such that no individual record analysis is done. For example, the PC file transfer programs on both computers can compare the dates of files on each system and transfer the more recent version from one system over to the other. However, if the files have been modified on both side then the simple file transfer program can not reconcile these changed files.
FIG. 3 illustrates a more sophisticated method of synchronizing files on a handheld computer system and a personal computer system that can reconcile changes within a file. In the transfer system illustrated in FIG. 3 there are several matching application programs in the personal computer system 150 and the handheld computer system 110. For example, there is Application 1 (311) which corresponds to PC Application 1 (361) on the personal computer system 150. Similarly, there is Application 2 (321) and Application 3 (331) on the handheld computer system that match up with PC Application 2 (371) and PC Application 3 (381) on the personal computer system 150 correspondingly.
Since there is a matching application on both the handheld computer system and the personal computer system in the method of FIG. 3, the two matching applications can share information on a record level. For example, an address book containing names, phone numbers, and addresses of people in records can be merged at a record level. Thus, if the handheld computer system 110 is taken on a road trip and the user adds a few new records to the address book program, when the handheld computer system 110 and the personal computer system 150 are later synchronized the address book application on the handheld computer system and the address book application on the personal computer system can transfer the added records from the handheld computer system to the personal computer system. Similarly, if while the main user was on the road and a secretary adds records to the personal computer address book application on the personal computer, 150 those new records can be transferred from the personal computer system 150 to the handheld computer system 110.
However, to accomplish this sophisticated synchronization system, the application on the handheld computer system and the application on the personal computer system must communicate with each other directly. If a user has several applications running on the handheld computer system 110 and the personal computer system 150 that need to be synchronized, then the person must run each pair of matched applications one-at-at-time to perform the synchronization for the different applications. Running each matched pair of applications separately and requesting a file synchronization can be a laborious process and thus limits the user's ability to quickly and easily synchronize the two computer systems.